Conventionally when printing a document from a computer, an application, such as a word processor is used to create or view the document. When a user wishes to print out the document, the application sends document data to a printer driver provided on the computer which translates the data into a format which can be utilised by a particular printer. This data is then transmitted to a printer as a print job. When a print job is received by the printer, the printer interprets the instructions included in the print job and prints a copy of the document.
In order for a printer to print characters appearing in a document in a particular font, a printer needs access to font data defining the appearance of each of the individual characters or glyphs represented in that font. In the case of a bitmap font, this font data is in the form of an array of pixels. In the case of an outline or vector font, the font data is in the form of a mathematical description of lines and curves.
Ordinarily when printing out a document, a printer driver will include this font data as part of the print job sent to a printer. In the case of certain languages such as Chinese or Japanese which include many characters, the amount of font data necessary to define all of the characters used in a language can be quite large. If this data is transmitted to a printer each time a font is to be used a significant amount of data needs to be transmitted for each print job resulting in printing delays and queues.
One way in which the systems of prior art have addressed this problem is by use of embedded fonts. Embedded fonts are fonts which are pre-stored on a printer. These embedded fonts can be utilized for printing text without the need for the relevant font glyphs having to be downloaded. The associated printer driver is provided with knowledge of which fonts are embedded within a printer and when the printer driver is asked to format a print job which uses only an embedded font, the printer driver does include font data in the data being sent to a printer.
Although the use of embedded fonts reduces the amount of data which needs to be sent to a printer, the use of embedded fonts can cause problems.
One problem with using embedded fonts is that the embedded font may not necessarily correspond with the screen font. For example, the printer may be embedded with a version of a typeface which is an older version of the font that is in use by the corresponding application. This would then mean that the screen font would be different from the printed font.
Another problem with using embedded fonts is that if the font used within a document is not one of those pre-stored within a printer, font data must still be downloaded to the printer in order for a document to be printed.